Add vtk8-files
authorAnton Gladky <gladk@debian.org>
Mon, 13 Jul 2020 20:16:23 +0000 (22:16 +0200)
committerAnton Gladky <gladk@debian.org>
Mon, 13 Jul 2020 20:16:23 +0000 (22:16 +0200)
51 files changed:
debian/README.source [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/gbp.conf [new file with mode: 0644]
debian/libvtk8-dev.install [new file with mode: 0644]
debian/libvtk8-dev.lintian-overrides [new file with mode: 0644]
debian/libvtk8-java.install [new file with mode: 0644]
debian/libvtk8-java.lintian-overrides [new file with mode: 0644]
debian/libvtk8-jni.install [new file with mode: 0644]
debian/libvtk8-jni.lintian-overrides [new file with mode: 0644]
debian/libvtk8-qt-dev.install [new file with mode: 0644]
debian/libvtk8-qt-dev.lintian-overrides [new file with mode: 0644]
debian/libvtk8-qt.install [new file with mode: 0644]
debian/libvtk8-qt.lintian-overrides [new file with mode: 0644]
debian/libvtk8.install [new file with mode: 0644]
debian/libvtk8.lintian-overrides [new file with mode: 0644]
debian/patches/100_javac-heap.patch [new file with mode: 0644]
debian/patches/101_java_install_path.patch [new file with mode: 0644]
debian/patches/105_unforce_embedded_glew.patch [new file with mode: 0644]
debian/patches/106_install_doxygen_scripts_in_nodoc_build.patch [new file with mode: 0644]
debian/patches/108_Doxygen-use-mathjax.patch [new file with mode: 0644]
debian/patches/110_do_not_link_against_socket.patch [new file with mode: 0644]
debian/patches/20_soversion-sharedlib.patch [new file with mode: 0644]
debian/patches/30_matplotlib.patch [new file with mode: 0644]
debian/patches/50_use_system_utf8.patch [new file with mode: 0644]
debian/patches/60_remove_mpi4py_dependency.patch [new file with mode: 0644]
debian/patches/70_fix_ftbfs_gcc49.patch [new file with mode: 0644]
debian/patches/series [new file with mode: 0644]
debian/python3-vtk8.install [new file with mode: 0644]
debian/python3-vtk8.lintian-overrides [new file with mode: 0644]
debian/rules [new file with mode: 0755]
debian/source/format [new file with mode: 0644]
debian/tcl-vtk8.install [new file with mode: 0644]
debian/tcl-vtk8.lintian-overrides [new file with mode: 0644]
debian/tests/buildBoolean [new file with mode: 0755]
debian/tests/buildDistance [new file with mode: 0755]
debian/tests/buildGenericClip [new file with mode: 0755]
debian/tests/buildPNG [new file with mode: 0755]
debian/tests/buildPoint [new file with mode: 0755]
debian/tests/buildVTP [new file with mode: 0755]
debian/tests/buildVTU [new file with mode: 0755]
debian/tests/control [new file with mode: 0644]
debian/upstream/metadata [new file with mode: 0644]
debian/vtk8-doc.docs [new file with mode: 0644]
debian/vtk8-doc.links [new file with mode: 0644]
debian/vtk8-examples.examples [new file with mode: 0644]
debian/vtk8.install [new file with mode: 0644]
debian/vtk8.lintian-overrides [new file with mode: 0644]
debian/watch [new file with mode: 0644]

diff --git a/debian/README.source b/debian/README.source
new file mode 100644 (file)
index 0000000..a9e646b
--- /dev/null
@@ -0,0 +1 @@
+FIXME: Patch away file(DOWNLOAD) call in Utilities/Doxygen/doc_makeall.cmake.in
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..a2fd08b
--- /dev/null
@@ -0,0 +1,27 @@
+vtk8 (8.2.0+dfsg1-1) UNRELEASED; urgency=medium
+
+  [ Gert Wollny ]
+  * Initial release. (Closes: #XXXXXX)
+
+  [ Drew Parsons ]
+  * Thanks: Nico Schloemer, Johannes Schauer and Gert for initial work
+    and python3 packaging.
+  * Drop deprecated patches:
+     10_allpatches.patch
+     40_use_system_sqlite.patch
+      - VTK_USE_SYSTEM_SQLITE now available
+     60_use_system_mpi4py.patch
+      - handled by VTK_USE_SYSTEM_MPI4PY
+     80_fix_arm_compilation.patch
+      - Qt5 now builds on arm
+     107_gl2ps_1.4.0.patch
+     109_use_parallel_hdf5.patch
+     111_search_multiarch_paths_for_libproj.patch
+
+  [ Nico Schlömer ]
+  * Update to 8.2.0
+  * remove obsolete patches, configure options
+  * rework utf-8 patch
+  * Update standard to 4.4.1 (no changes)
+
+ -- Johannes Schauer <josch@debian.org>  Fri, 03 Nov 2017 19:59:42 +0100
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..48082f7
--- /dev/null
@@ -0,0 +1 @@
+12
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..fcca93e
--- /dev/null
@@ -0,0 +1,311 @@
+Source: vtk8
+Maintainer: Debian Science Team <debian-science-maintainers@lists.alioth.debian.org>
+Uploaders: Anton Gladky <gladk@debian.org>,
+           Gert Wollny <gewo@debian.org>,
+           Nico Schlömer <nico.schloemer@gmail.com>
+Section: graphics
+Priority: optional
+Build-Depends-Arch: debhelper (>= 12),
+                    cmake (>= 3.2.0),
+                    javahelper,
+Build-Depends: chrpath,
+               default-jdk,
+               default-libmysqlclient-dev,
+               dh-python,
+               libftgl-dev,
+               hdf5-tools,
+               libalglib-dev,
+               libavcodec-dev,
+               libavformat-dev,
+               libavutil-dev,
+               libboost-all-dev,
+               libdigest-md5-perl,
+               libdouble-conversion-dev,
+               libeigen3-dev,
+               libexpat-dev,
+               libfreetype6-dev,
+               libfontconfig1-dev,
+               libgdal-dev,
+               libgl1-mesa-dev | libgl-dev,
+               libgl2ps-dev (>= 1.4.0),
+               libglew-dev,
+               libglu1-mesa-dev | libglu-dev,
+               libhdf5-openmpi-dev,
+               libjpeg-dev,
+               libjsoncpp-dev,
+               libmrmpi-dev,
+               libnetcdf-dev,
+               libnetcdf-cxx-legacy-dev,
+               libosmesa6-dev,
+               libpng-dev,
+               libpq-dev,
+               libproj-dev,
+               libqt5opengl5-dev,
+               libqt5webkit5-dev,
+               libqt5x11extras5-dev,
+               libsqlite3-dev,
+               libswscale-dev,
+               libtheora-dev,
+               libtiff-dev,
+               libutfcpp-dev,
+               libx11-dev,
+               libxdmf-dev,
+               libxml2-dev,
+               libxpm-dev,
+               libxt-dev,
+               liblz4-dev,
+               lzma,
+               mpi-default-dev,
+               pkg-config,
+               python3-all-dev,
+               python3-matplotlib,
+               python3-mpi4py,
+               qtbase5-dev,
+               qttools5-private-dev,
+               r-base,
+               r-base-core,
+               r-base-dev,
+               tcl-dev,
+               tk-dev,
+               x11proto-core-dev,
+               xauth,
+               xvfb,
+               zlib1g-dev
+Build-Depends-Indep: doxygen-latex,
+                     texlive-binaries,
+                     graphviz,
+                     ghostscript,
+                     libjs-mathjax,
+                     gnuplot-nox
+Standards-Version: 4.4.1
+Rules-Requires-Root: no
+Vcs-Browser: https://salsa.debian.org/science-team/vtk8
+Vcs-Git: https://salsa.debian.org/science-team/vtk8.git
+Homepage: https://www.vtk.org/
+
+Package: libvtk8-dev
+Architecture: any
+Section: libdevel
+Depends: default-libmysqlclient-dev,
+         libavcodec-dev,
+         libavformat-dev,
+         libavutil-dev,
+         libc6-dev,
+         libeigen3-dev,
+         libexpat-dev,
+         libfreetype6-dev,
+         libgdal-dev,
+         libgl1-mesa-dev | libgl-dev,
+         libgl2ps-dev,
+         libglu1-mesa-dev | libglu-dev,
+         libhdf5-mpi-dev,
+         libjpeg-dev,
+         libjsoncpp-dev,
+         libnetcdf-dev,
+         libnetcdf-cxx-legacy-dev,
+         libpng-dev,
+         libpq-dev,
+         libproj-dev,
+         libpython3-dev,
+         libswscale-dev,
+         libtheora-dev,
+         libtiff-dev,
+         libvtk8 (= ${binary:Version}),
+         libvtk8-java (= ${binary:Version}),
+         libx11-dev,
+         libxft-dev,
+         libxml2-dev,
+         libxss-dev,
+         libxt-dev,
+         mpi-default-dev,
+         python3-vtk8 (= ${binary:Version}),
+         tcl-dev,
+         tcl-vtk8 (= ${binary:Version}),
+         tk-dev,
+         vtk8 (= ${binary:Version}),
+         x11proto-core-dev,
+         zlib1g-dev,
+         ${misc:Depends},
+         ${shlibs:Depends}
+Suggests: vtk8-doc,
+          vtk8-examples
+Conflicts: libvtk5-dev,
+           libvtk6-dev,
+           libvtk7-dev
+Replaces: libvtk5-dev,
+          libvtk6-dev,
+          libvtk7-dev
+Description: VTK header files
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides the VTK header files required to compile
+ C++ programs that use VTK to do 3D visualisation.
+
+Package: libvtk8-qt-dev
+Architecture: any
+Section: libdevel
+Depends: libvtk8-dev (= ${binary:Version}),
+         libvtk8-qt (= ${binary:Version}),
+         ${misc:Depends},
+         ${shlibs:Depends},
+         qtbase5-dev,
+         qttools5-private-dev,
+         libqt5opengl5-dev,
+         libqt5webkit5-dev
+Description: VTK header files, containing Qt files
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides the VTK header files required to compile
+ C++ programs that use VTK to do 3D visualisation. Qt files
+
+Package: libvtk8
+Architecture: any
+Section: libs
+Depends: ${misc:Depends},
+         ${shlibs:Depends}
+Suggests: mpi-default-bin,
+          vtk8-doc,
+          vtk8-examples
+Replaces: libvtk5.8,
+          libvtk7.1
+Description: VTK libraries
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides the shared libraries needed to run C++ programs
+ that use VTK.
+
+Package: libvtk8-qt
+Architecture: any
+Section: libs
+Depends: ${misc:Depends},
+         ${shlibs:Depends}
+Description: VTK libraries, Qt files
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides the shared libraries needed to run C++ programs
+ that use VTK. Qt files
+
+Package: libvtk8-jni
+Architecture: any
+Section: java
+Depends: ${java:Depends},
+         ${misc:Depends},
+         ${shlibs:Depends}
+Breaks: libvtk6-jni,
+        libvtk7-jni
+Replaces: libvtk6-jni,
+          libvtk7-jni
+Description: VTK - Java Native Interface (JNI) files
+ The Visualization Toolkit (VTK) is an object oriented, high level
+ library that allows one to easily write C++ programs, Tcl, Python and
+ Java scripts that do 3D visualization.
+ .
+ This package provides the Java Native Interface files.
+
+Package: libvtk8-java
+Architecture: any
+Section: java
+Depends: libvtk8-jni (= ${binary:Version}),
+         ${java:Depends},
+         ${misc:Depends},
+         ${shlibs:Depends}
+Suggests: java-virtual-machine,
+          libvtk8-dev (= ${binary:Version}),
+          vtk8-doc,
+          vtk8-examples
+Replaces: libvtk6-java,
+          libvtk7-java
+Breaks: libvtk6-java,
+        libvtk7-java
+Description: VTK - Java language support
+ The Visualization Toolkit (VTK) is an object oriented, high level
+ library that allows one to easily write C++ programs, Tcl, Python and
+ Java scripts that do 3D visualization.
+ .
+ This package provides the VTK Java language support.
+
+Package: python3-vtk8
+Architecture: any
+Section: python
+Depends: libvtk8 (= ${binary:Version}),
+         libvtk8-qt (= ${binary:Version}),
+         python3-mpi4py,
+         ${misc:Depends},
+         ${python3:Depends},
+         ${shlibs:Depends}
+Suggests: mayavi2,
+          vtk8-doc,
+          vtk8-examples
+Breaks: python3-vtk6,
+        python3-vtk7
+Replaces: python3-vtk6,
+          python3-vtk7
+Description: Python bindings for VTK
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides the python3 bindings for VTK.
+
+Package: tcl-vtk8
+Architecture: any
+Section: interpreters
+Depends: libvtk8 (= ${binary:Version}),
+         libvtk8-qt (= ${binary:Version}),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Suggests: vtk8-doc,
+          vtk8-examples
+Description: Tcl bindings for VTK
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides the shared libraries and executable that enable
+ one to use VTK from Tcl/Tk scripts.
+
+Package: vtk8
+Architecture: any
+Section: interpreters
+Depends: libvtk8 (= ${binary:Version}),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Suggests: vtk8-doc,
+          vtk8-examples
+Description: Binaries for VTK8
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides binaries for VTK8
+
+Package: vtk8-doc
+Architecture: all
+Section: doc
+Depends: doc-base,
+         libjs-jquery,
+        libjs-mathjax,
+         ${misc:Depends}
+Suggests: libvtk8-dev,
+          vtk8-examples
+Description: VTK class reference documentation
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides documentation for VTK8
+
+Package: vtk8-examples
+Architecture: all
+Depends: ${misc:Depends}
+Suggests: libvtk8-dev,
+          python3,
+          python3-vtk8,
+          tcl-vtk8,
+          tclsh,
+          vtk8-doc
+Description: VTK examples
+ The Visualization Toolkit (VTK) is an open-source software system
+ for 3D computer graphics, image processing, and visualization.
+ .
+ This package provides examples for VTK8
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..3eb63e1
--- /dev/null
@@ -0,0 +1,351 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: https://www.vtk.org/
+Upstream-Name: Visualization Toolkit
+Files-Excluded:
+  Web/*
+  Examples/GUI/Win32
+  ThirdParty/doubleconversion/vtkdoubleconversion/
+  ThirdParty/expat/vtkexpat
+  ThirdParty/freetype/vtkfreetype
+  ThirdParty/gl2ps/vtkgl2ps
+  ThirdParty/hdf5/vtkhdf5
+  ThirdParty/jpeg/vtkjpeg
+  ThirdParty/jsoncpp/vtkjsoncpp
+  ThirdParty/libproj4/vtklibproj4
+  ThirdParty/libxml2/vtklibxml2
+  ThirdParty/lz4/vtklz4
+  ThirdParty/lzma/vtklzma
+  ThirdParty/netcdf/vtknetcdf
+  ThirdParty/png/vtkpng
+  ThirdParty/sqlite/vtksqlite
+  ThirdParty/tiff/vtktiff
+  ThirdParty/zlib/vtkzlib
+  ThirdParty/glew/vtkglew
+  ThirdParty/utf8
+  ThirdParty/AutobahnPython
+  ThirdParty/SixPython
+  ThirdParty/ZopeInterface
+  ThirdParty/mpi4py
+  ThirdParty/Twisted
+  ThirdParty/xdmf3
+  Rendering/VolumeOpenGL
+
+Files: *
+Copyright: 1993-2015 Ken Martin, Will Schroeder, Bill Lorensen
+License: BSD-3-clause
+
+Files: Examples/GUI/Qt/ImageViewer/main.cxx
+ Examples/GUI/Qt/Events/main.cxx
+ Examples/GUI/Qt/Events/GUI4.h
+Copyright: 2004 Sandia Corporation
+License: Sandia-2004
+ Redistribution and use in source and binary forms, with or without 
+ modification, are permitted provided that this Notice and any
+ statement of authorship are reproduced on all copies.
+
+Files: Examples/GUI/Qt/Events/GUI4.cxx
+Copyright: 2004 Sandia Corporation, 
+ Ken Martin, Will Schroeder, Bill Lorensen
+License: Sandia-2004+BSD-3-clause
+ Sandia-2004: Redistribution and use in source and binary forms, with
+ or without modification, are permitted provided that this Notice and any
+ statement of authorship are reproduced on all copies.
+
+Files: Examples/GUI/Qt/SimpleView/SimpleView.cxx
+ Examples/GUI/Qt/SimpleView/main.cxx
+Copyright: 2007 Sandia Corporation
+License: Sandia-2007
+ Redistribution and use in source and binary forms, with or without 
+ modification, are permitted provided that this Notice and any
+ statement of authorship are reproduced on all copies.
+
+Files: Examples/Statistics/*.cxx
+Copyright: 2008 Sandia Corporation
+License: Sandia-2008
+ Redistribution and use in source and binary forms, with or without 
+ modification, are permitted provided that this Notice and any
+ statement of authorship are reproduced on all copies.
+
+Files: Examples/GUI/Qt/SimpleView/SimpleView.h
+ Examples/GUI/Qt/SimpleView/main.cxx
+Copyright: 2009 Sandia Corporation
+License: Sandia-2009
+ Redistribution and use in source and binary forms, with or without 
+ modification, are permitted provided that this Notice and any
+ statement of authorship are reproduced on all copies.
+
+Files: Infovis/Layout/vtkCosmicTreeLayoutStrategy.h
+ Infovis/Layout/vtkTreeOrbitLayoutStrategy.h
+Copyright: 2005-2008 Sandia Corporation, Kitware Inc.
+ Sandia National Laboratories, New Mexico PO Box 5800 Albuquerque, NM 87185
+ Kitware Inc., 28 Corporate Drive, Clifton Park, NY 12065, USA
+License: BSD-3-clause
+
+Files: Common/Core/CaseFolding.txt
+Copyright: 1991-2008 Unicode, Inc.
+License: Unicode
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of the Unicode data files and any associated documentation
+ (the "Data Files") or Unicode software and any associated documentation
+ (the "Software") to deal in the Data Files or Software
+ without restriction, including without limitation the rights to use,
+ copy, modify, merge, publish, distribute, and/or sell copies of
+ the Data Files or Software, and to permit persons to whom the Data Files
+ or Software are furnished to do so, provided that either
+ (a) this copyright and permission notice appear with all copies
+ of the Data Files or Software, or
+ (b) this copyright and permission notice appear in associated
+ Documentation.
+ .
+ THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+ IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+ NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+ DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+ .
+ Except as contained in this notice, the name of a copyright holder
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in these Data Files or Software without prior
+ written authorization of the copyright holder.
+
+Files: ThirdParty/xdmf2/vtkxdmf2/libsrc/*
+Copyright: 2002 US Army Research Laboratory
+License: BSD plus modification notice
+
+Files: ThirdParty/xdmf3/vtkxdmf3/*
+Copyright: 2011 US Army Research Laboratory
+License: BSD plus modification notice
+
+Files: ThirdParty/verdict/vtkverdict/*
+Copyright: 2006 Sandia Corporation
+License: BSD-3-clause
+
+Files: ThirdParty/VPIC/*
+Copyright: 2007, Los Alamos National Security, LLC
+License: BSD-3-clause
+
+Files: ThirdParty/TclTk/*
+Copyright: 1990-1994 The Regents of the University of California.
+           1994-1997 Sun Microsystems, Inc.
+           1998 by Scriptics Corporation.
+License: BSD-like
+   This software is copyrighted by the Regents of the University of
+   California, Sun Microsystems, Inc., Scriptics Corporation,
+   and other parties.  The following terms apply to all files associated
+   with the software unless explicitly disclaimed in individual files.
+   .
+   The authors hereby grant permission to use, copy, modify, distribute,
+   and license this software and its documentation for any purpose, provided
+   that existing copyright notices are retained in all copies and that this
+   notice is included verbatim in any distributions. No written agreement,
+   license, or royalty fee is required for any of the authorized uses.
+   Modifications to this software may be copyrighted by their authors
+   and need not follow the licensing terms described here, provided that
+   the new terms are clearly indicated on the first page of each file where
+   they apply.
+   .
+   IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
+   FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+   ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
+   DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
+   POSSIBILITY OF SUCH DAMAGE.
+   .
+   THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
+   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
+   FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
+   IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
+   NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
+   MODIFICATIONS.
+   .
+   GOVERNMENT USE: If you are acquiring this software on behalf of the
+   U.S. government, the Government shall have only "Restricted Rights"
+   in the software and related documentation as defined in the Federal
+   Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2).  If you
+   are acquiring the software on behalf of the Department of Defense, the
+   software shall be classified as "Commercial Computer Software" and the
+   Government shall have only "Restricted Rights" as defined in Clause
+   252.227-7013 (c) (1) of DFARs.  Notwithstanding the foregoing, the
+   authors grant the U.S. Government and others acting in its behalf
+   permission to use and distribute the software in accordance with the
+   terms specified in this license.
+
+Files: ThirdParty/exodusII/*
+Copyright: 2005 Sandia Corporation.
+License: BSD-3-clause
+
+Files: Imaging/Morphological/vtkImageConnectivityFilter.*
+Copyright: 2014 David Gobbi
+License: BSD-3-clause
+
+Files: Examples/Android/NativeVTK/jni/main.cxx Examples/Android/JavaVTK/src/com/kitware/JavaVTK/*
+       Examples/Android/JavaVTK/jni/main.cxx
+       Interaction/Widgets/Testing/Cxx/TestPickingManager*
+Copyright: 2007-2010 The Android Open Source Project
+License: Apache-2
+
+Files: Interaction/Widgets/Testing/Cxx/TestPickingManagerWidgets.cxx
+       Interaction/Widgets/Testing/Cxx/TestPickingManagerSeedWidget.cxx
+       Rendering/Core/Testing/Cxx/TestPickingManager.cxx
+       Rendering/Core/vtkPickingManager.*
+       Utilities/Scripts/SetupExternalData.sh
+Copyright: Kitware Inc
+License: Apache-2
+
+Files: Rendering/OpenGL2/vtkDepthImageProcessingPass.cxx
+ Rendering/OpenGL2/vtkDepthImageProcessingPass.h
+ Rendering/OpenGL2/vtkEDLShading.cxx
+ Rendering/OpenGL2/vtkEDLShading.h
+Copyright: 2005-2008 Sandia Corporation, Kitware Inc.
+License: BSD-3-clause
+
+Files: Utilities/MetaIO/vtkmetaio/metaFEMObject.*
+       Utilities/Maintenance/ArchiveTestingData.py
+       Utilities/Maintenance/computeCodeCoverageLocally.sh
+       Utilities/Maintenance/SourceTarball.bash
+       Utilities/Maintenance/computeCodeCoverageLocallyForOneTest.sh
+Copyright: Insight Software Consortium
+License: Apache-2
+
+Files: Common/Color/vtkColorSeries.*
+Copyright: 2010 Brewer, Cynthia A. and Mark Harrower and Andy Woodruff and David Heyman
+License: Apache-2-modified
+  The color schemes below are copyright under the following license, excerpted
+  from http://www.personal.psu.edu/cab38/ColorBrewer/ColorBrewer_updates.html
+  on August 13, 2012:
+  .
+    Apache-Style Software License for ColorBrewer software and
+    ColorBrewer Color Schemes
+  .
+    Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The Pennsylvania
+    State University.
+  .
+    Licensed under the Apache License, Version 2.0 (the "License"); you may not
+    use this file except in compliance with the License.
+    You may obtain a copy of the License at
+  .
+    http://www.apache.org/licenses/LICENSE-2.0
+  .
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+    License for the specific language governing permissions and limitations
+    under the License.
+  .
+  This text from my earlier Apache License Version 1.1 also remains in place for
+  guidance on attribution and permissions:
+  .
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+    1. Redistributions as source code must retain the above copyright notice,
+       this list of conditions and the following disclaimer.
+    2. The end-user documentation included with the redistribution, if any, must
+       include the following acknowledgment:
+       "This product includes color specifications and designs developed by
+       Cynthia Brewer (http://colorbrewer.org/)."
+       Alternately, this acknowledgment may appear in the software itself, if
+       and wherever such third-party acknowledgments normally appear.
+    4. The name "ColorBrewer" must not be used to endorse or promote products
+       derived from this software without prior written permission. For written
+       permission, please contact Cynthia Brewer at cbrewer@psu.edu.
+    5. Products derived from this software may not be called "ColorBrewer", nor
+       may "ColorBrewer" appear in their name, without prior written permission
+       of Cynthia Brewer.
+
+Files:  Filters/Parallel/vtkBlockDistribution.h
+        Infovis/Boost/Testing/Cxx/TestVariantSerialization.cxx
+        Infovis/Boost/vtkVariantBoostSerialization.h
+        Infovis/BoostGraphAlgorithms/vtkBoostBreadthFirstSearch.cxx
+        Common/DataModel/vtkDistributedGraphHelper.*
+Copyright: 2008 The Trustees of Indiana University
+License: Boost-1.0
+  Boost Software License - Version 1.0 - August 17th, 2003
+  .
+  Permission is hereby granted, free of charge, to any person or organization
+  obtaining a copy of the software and accompanying documentation covered by
+  this license (the "Software") to use, reproduce, display, distribute,
+  execute, and transmit the Software, and to prepare derivative works of the
+  Software, and to permit third-parties to whom the Software is furnished to
+  do so, all subject to the following:
+  .
+  The copyright notices in the Software and this entire statement, including
+  the above license grant, this restriction and the following disclaimer,
+  must be included in all copies of the Software, in whole or in part, and
+  all derivative works of the Software, unless such copies or derivative
+  works are solely in the form of machine-executable object code generated by
+  a source language processor.
+  .
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+  DEALINGS IN THE SOFTWARE.
+
+License: BSD-3-clause
+   Redistribution and use in source and binary forms, with or without
+   modification, are permitted provided that the following conditions are
+   met:
+   .
+       * Redistributions of source code must retain the above copyright
+         notice, this list of conditions and the following disclaimer.
+   .
+       * Redistributions in binary form must reproduce the above
+         copyright notice, this list of conditions and the following
+         disclaimer in the documentation and/or other materials provided
+         with the distribution.
+   .
+       * Neither the name of Sandia Corporation nor the names of its
+         contributors may be used to endorse or promote products derived
+         from this software without specific prior written permission.
+   .
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: Apache-2
+ On Debian systems, the full text of the Apache License
+ Version 2.0 can be found in the file
+ `/usr/share/common-licenses/Apache-2.0'.
+
+License: BSD-plus-modification-notice
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+  * Redistributions of source code must retain the above copyright notice,
+    this list of conditions and the following disclaimer.
+ .
+  * Redistributions in binary form must reproduce the above copyright notice,
+    this list of conditions and the following disclaimer in the documentation
+    and/or other materials provided with the distribution.
+ .
+  * Neither the name of the U.S. Army Research Laboratory nor the names
+    of any contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+ .
+  * Modified source versions must be plainly marked as such, and must not be
+    misrepresented as being the original software.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644 (file)
index 0000000..af46c8f
--- /dev/null
@@ -0,0 +1,3 @@
+[DEFAULT]
+pristine-tar = True
+
diff --git a/debian/libvtk8-dev.install b/debian/libvtk8-dev.install
new file mode 100644 (file)
index 0000000..2232adc
--- /dev/null
@@ -0,0 +1,21 @@
+# add doxygen docs
+# to get paraview debian/build properly on top of vtk we now add this as a symlink
+# in the python3-vtk8 package
+# /usr/lib/*/python3.6/site-packages/vtk/*
+CMake/TopologicalSort.cmake usr/lib/cmake/vtk-8.2/
+CMake/vtkGroups.cmake usr/lib/cmake/vtk-8.2/
+CMake/vtkTesting*.cmake        usr/lib/cmake/vtk-8.2/
+Common/DataModel/vtkMarchingCubesTriangleCases.h usr/include/vtk-8.2/
+Filters/Statistics/vtkStatisticsAlgorithmPrivate.h usr/include/vtk-8.2/
+IO/Import/vtk3DS.h usr/include/vtk-8.2/
+Testing/Core/vtkTestDriver.h usr/include/vtk-8.2
+Testing/Core/vtkTestUtilities.h usr/include/vtk-8.2/
+Testing/Core/vtkTesting*.h usr/include/vtk-8.2/
+Testing/Rendering/vtkRegressionTestImage.h usr/include/vtk-8.2/
+Testing/Rendering/vtkTesting*.h usr/include/vtk-8.2
+Wrapping/Java/JavaDependencies.cmake.in usr/lib/cmake/vtk-8.2/
+# debian/build/lib/cmake/vtk-8.2/Modules/*-Headers.cmake       usr/lib/cmake/vtk-8.2/Modules/
+usr/include/vtk-8.2 usr/include
+usr/lib/*/*.so
+usr/lib/*/cmake/vtk-8.2
+usr/share/doc/vtk-8.2/doxygen/* /usr/share/vtk-8.2/doxygen/
diff --git a/debian/libvtk8-dev.lintian-overrides b/debian/libvtk8-dev.lintian-overrides
new file mode 100644 (file)
index 0000000..f3c70f0
--- /dev/null
@@ -0,0 +1,4 @@
+libvtk8-dev: shlib-without-versioned-soname
+libvtk8-dev: package-name-doesnt-match-sonames
+libvtk8-dev: postinst-must-call-ldconfig
+libvtk8-dev: hardening-no-relro
diff --git a/debian/libvtk8-java.install b/debian/libvtk8-java.install
new file mode 100644 (file)
index 0000000..20338ec
--- /dev/null
@@ -0,0 +1,3 @@
+usr/bin/vtkParseJava-8.2                    usr/bin
+usr/bin/vtkWrapJava-8.2                     usr/bin
+usr/lib/*/vtk8.jar                          usr/share/java
diff --git a/debian/libvtk8-java.lintian-overrides b/debian/libvtk8-java.lintian-overrides
new file mode 100644 (file)
index 0000000..4cc65e8
--- /dev/null
@@ -0,0 +1,3 @@
+# Upstream does not provide manpages
+libvtk8-java: binary-without-manpage
+libvtk8-java: hardening-no-relro
diff --git a/debian/libvtk8-jni.install b/debian/libvtk8-jni.install
new file mode 100644 (file)
index 0000000..9476596
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/jni/
diff --git a/debian/libvtk8-jni.lintian-overrides b/debian/libvtk8-jni.lintian-overrides
new file mode 100644 (file)
index 0000000..9ef03e6
--- /dev/null
@@ -0,0 +1 @@
+libvtk8-jni: hardening-no-relro
diff --git a/debian/libvtk8-qt-dev.install b/debian/libvtk8-qt-dev.install
new file mode 100644 (file)
index 0000000..c92ab8c
--- /dev/null
@@ -0,0 +1,6 @@
+# remove Python files here and privide a symlink in the python package
+# usr/lib/*/python3.6/site-packages/vtk/*Qt*
+usr/lib/*/*Qt*.so
+# usr/lib/cmake/vtk-8.2/Modules/*Qt*
+usr/include/vtk-8.2/*Qt*
+usr/include/vtk-8.2/Q*
diff --git a/debian/libvtk8-qt-dev.lintian-overrides b/debian/libvtk8-qt-dev.lintian-overrides
new file mode 100644 (file)
index 0000000..6c882d9
--- /dev/null
@@ -0,0 +1,4 @@
+libvtk8-qt-dev: shlib-without-versioned-soname
+libvtk8-qt-dev: package-name-doesnt-match-sonames
+libvtk8-qt-dev: hardening-no-relro
+
diff --git a/debian/libvtk8-qt.install b/debian/libvtk8-qt.install
new file mode 100644 (file)
index 0000000..4c7a2dd
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/*Qt*.so.*
diff --git a/debian/libvtk8-qt.lintian-overrides b/debian/libvtk8-qt.lintian-overrides
new file mode 100644 (file)
index 0000000..16ad67b
--- /dev/null
@@ -0,0 +1,3 @@
+libvtk8-qt: hardening-no-relro
+libvtk8-qt: package-name-doesnt-match-sonames
+
diff --git a/debian/libvtk8.install b/debian/libvtk8.install
new file mode 100644 (file)
index 0000000..3de3b10
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/*.so.*
diff --git a/debian/libvtk8.lintian-overrides b/debian/libvtk8.lintian-overrides
new file mode 100644 (file)
index 0000000..ce3c424
--- /dev/null
@@ -0,0 +1,5 @@
+libvtk8: package-name-doesnt-match-sonames
+libvtk8: hardening-no-relro
+# Will be discussed with upstream to have an opportunity to set USE_SYSTEM_lib
+
+libvtk8: embedded-library
diff --git a/debian/patches/100_javac-heap.patch b/debian/patches/100_javac-heap.patch
new file mode 100644 (file)
index 0000000..1164c2f
--- /dev/null
@@ -0,0 +1,16 @@
+Description: set JVM max memory to 1024m.
+Author: Matthias Klose <doko@ubuntu.com>
+Acked-By: Anton Gladky <gladk@debian.org>
+Last-Update: 2016-02-12
+
+--- a/Wrapping/Java/CMakeLists.txt
++++ b/Wrapping/Java/CMakeLists.txt
+@@ -96,6 +96,8 @@
+   set(JAVAC_OPTIONS -J-Xmx512m)
+ endif()
++set(JAVAC_OPTIONS -J-Xmx1024m)
++
+ get_property(java_modules GLOBAL PROPERTY VTK_JAVA_WRAPPED)
+ foreach(module IN LISTS java_modules)
+   if(NOT ${module}_EXCLUDE_FROM_WRAPPING)
diff --git a/debian/patches/101_java_install_path.patch b/debian/patches/101_java_install_path.patch
new file mode 100644 (file)
index 0000000..52ba960
--- /dev/null
@@ -0,0 +1,19 @@
+Description: Install Java modules in the correct path
+ This patch corrects the installation of the native Java modules
+ to go to the path given by the Debian Java Policy. This helps
+ to later use the simple install file to get them to the right
+ location in the package. 
+Author: Gert Wollny <gw.fossdev@gmail.com
+Last-Update: 2016-03-26
+
+--- a/CMake/vtkJavaWrapping.cmake
++++ b/CMake/vtkJavaWrapping.cmake
+@@ -73,7 +73,7 @@ function(vtk_add_java_wrapping module_na
+     install(TARGETS ${module_name}Java
+       EXPORT ${VTK_INSTALL_EXPORT_NAME}
+       RUNTIME DESTINATION ${VTK_INSTALL_RUNTIME_DIR} COMPONENT RuntimeLibraries
+-      LIBRARY DESTINATION ${VTK_INSTALL_LIBRARY_DIR} COMPONENT RuntimeLibraries
++      LIBRARY DESTINATION ${VTK_INSTALL_LIBRARY_DIR}/jni COMPONENT RuntimeLibraries
+       ARCHIVE DESTINATION ${VTK_INSTALL_ARCHIVE_DIR} COMPONENT Development)
+   endif()
+ endfunction()
diff --git a/debian/patches/105_unforce_embedded_glew.patch b/debian/patches/105_unforce_embedded_glew.patch
new file mode 100644 (file)
index 0000000..27ad88a
--- /dev/null
@@ -0,0 +1,16 @@
+Description: Remove the FORCE from the use_system_glew=off option
+ The embedded version of GLEW seems to be older than the version
+ provided by Debian, so I assume that the fixes have been applied. 
+Author: Gert Wollny <gw.fossdev@gmail.com> 
+
+--- a/Rendering/OpenGL2/CMakeLists.txt
++++ b/Rendering/OpenGL2/CMakeLists.txt
+@@ -311,7 +311,7 @@
+ vtk_opengl_link(${vtk-module})
+ if(VTK_USE_X)
+   vtk_module_link_libraries(${vtk-module}
+-    LINK_PUBLIC ${X11_LIBRARIES} ${X11_Xt_LIB})
++    LINK_PUBLIC ${GLEW_LIBRARY} ${X11_LIBRARIES} ${X11_Xt_LIB})
+ elseif(VTK_USE_COCOA)
+   vtk_module_link_libraries(${vtk-module} LINK_PUBLIC "-framework Cocoa")
+ endif()
diff --git a/debian/patches/106_install_doxygen_scripts_in_nodoc_build.patch b/debian/patches/106_install_doxygen_scripts_in_nodoc_build.patch
new file mode 100644 (file)
index 0000000..64dc8a0
--- /dev/null
@@ -0,0 +1,146 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -118,9 +118,7 @@
+ # The doxygen documentation needs to be aware of all modules.
+ option(BUILD_DOCUMENTATION "Build the VTK documentation" OFF)
+-if(BUILD_DOCUMENTATION)
+-  add_subdirectory(Utilities/Doxygen)
+-endif()
++add_subdirectory(Utilities/Doxygen)
+ # If python wrapping and testing is enabled then add driver scripts to run
+ # tests.  Note: Many pythong tests used to be automatically converted from TCL
+--- a/Utilities/Doxygen/CMakeLists.txt
++++ b/Utilities/Doxygen/CMakeLists.txt
+@@ -1,69 +1,72 @@
+ #
+ # Build the documentation
+ #
+-find_package(Doxygen REQUIRED)
+-find_package(Perl REQUIRED)
+-find_package(HTMLHelp)
+-
+-option(DOXYGEN_SHORT_NAMES "Build Doxygen of VTK using short file names" OFF)
+-option(DOXYGEN_KEEP_TEMP "Do not delete the temporary Doxygen headers" OFF)
+-option(DOXYGEN_GENERATE_HTMLHELP "Generate HTML help (CHM) files" ON)
+-mark_as_advanced(DOXYGEN_SHORT_NAMES DOXYGEN_KEEP_TEMP DOXYGEN_GENERATE_HTMLHELP)
+-if(DOXYGEN_SHORT_NAMES)
+-  set(DOXYGEN_SHORT_NAMES YES)
+-else()
+-  set(DOXYGEN_SHORT_NAMES NO)
+-endif()
+-if(DOXYGEN_GENERATE_HTMLHELP)
+-  set(DOXYGEN_GENERATE_HTMLHELP YES)
+-else()
+-  set(DOXYGEN_GENERATE_HTMLHELP NO)
+-endif()
+-
+-#
+-# Configure the script and the doxyfile, then add target
+-#
+-set(HAVE_DOT_YESNO NO)
+-if(DOT)
+-  set(HAVE_DOT_YESNO YES)
+-  if(NOT DOT_PATH)
+-    get_filename_component(DOT_PATH ${DOT} PATH)
++if (BUILD_DOCUMENTATION) 
++  find_package(Doxygen REQUIRED)
++  find_package(Perl REQUIRED)
++  find_package(HTMLHelp)
++
++  option(DOXYGEN_SHORT_NAMES "Build Doxygen of VTK using short file names" OFF)
++  option(DOXYGEN_KEEP_TEMP "Do not delete the temporary Doxygen headers" OFF)
++  option(DOXYGEN_GENERATE_HTMLHELP "Generate HTML help (CHM) files" ON)
++  mark_as_advanced(DOXYGEN_SHORT_NAMES DOXYGEN_KEEP_TEMP DOXYGEN_GENERATE_HTMLHELP)
++  if(DOXYGEN_SHORT_NAMES)
++    set(DOXYGEN_SHORT_NAMES YES)
++  else()
++    set(DOXYGEN_SHORT_NAMES NO)
+   endif()
+-endif()
+-
+-# Build up a list of all module source directories. Note that this should be
+-# all source directories and so does not use the normal variables.
+-unset(VTK_MODULE_DIRS_DOXYGEN)
+-file(GLOB src RELATIVE "${VTK_SOURCE_DIR}" "${VTK_SOURCE_DIR}/*/*/module.cmake")
+-foreach(module ${src})
+-  get_filename_component(module_BASE ${module} PATH)
+-  if("${module_BASE}" MATCHES "^Utilities" OR ${module_BASE} MATCHES "^Third")
+-    # Skip the utilities and third parties directories.
++  if(DOXYGEN_GENERATE_HTMLHELP)
++    set(DOXYGEN_GENERATE_HTMLHELP YES)
+   else()
+-    # Use both the source and binary directories, this ensures that
+-    # generated files will be included, but they may then be architecture,
+-    # build configuration and/or compiler specific. All source directories
+-    # are included whether the module is enabled or not.
+-    set(VTK_MODULE_DIRS_DOXYGEN
+-      "${VTK_MODULE_DIRS_DOXYGEN}
++    set(DOXYGEN_GENERATE_HTMLHELP NO)
++  endif()
++  
++  #
++  # Configure the script and the doxyfile, then add target
++  #
++  set(HAVE_DOT_YESNO NO)
++  if(DOT)
++    set(HAVE_DOT_YESNO YES)
++    if(NOT DOT_PATH)
++      get_filename_component(DOT_PATH ${DOT} PATH)
++    endif()
++  endif()
++  
++  # Build up a list of all module source directories. Note that this should be
++  # all source directories and so does not use the normal variables.
++  unset(VTK_MODULE_DIRS_DOXYGEN)
++  file(GLOB src RELATIVE "${VTK_SOURCE_DIR}" "${VTK_SOURCE_DIR}/*/*/module.cmake")
++  foreach(module ${src})
++    get_filename_component(module_BASE ${module} PATH)
++    if("${module_BASE}" MATCHES "^Utilities" OR ${module_BASE} MATCHES "^Third")
++      # Skip the utilities and third parties directories.
++    else()
++      # Use both the source and binary directories, this ensures that
++      # generated files will be included, but they may then be architecture,
++      # build configuration and/or compiler specific. All source directories
++      # are included whether the module is enabled or not.
++      set(VTK_MODULE_DIRS_DOXYGEN
++      "${VTK_MODULE_DIRS_DOXYGEN}
+   \"${VTK_SOURCE_DIR}/${module_BASE}\"
+   \"${VTK_BINARY_DIR}/${module_BASE}\"")
+-  endif()
+-endforeach()
++    endif()
++  endforeach()
++  
++  configure_file(
++    ${VTK_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in
++    ${VTK_BINARY_DIR}/Utilities/Doxygen/doxyfile)
++  
++  configure_file(
++    ${VTK_SOURCE_DIR}/Utilities/Doxygen/doc_makeall.cmake.in
++    ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake
++    @ONLY)
++  
++  add_custom_target(DoxygenDoc
++    ${CMAKE_COMMAND}
++    -P ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake
++    DEPENDS ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake)
+-configure_file(
+-  ${VTK_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in
+-  ${VTK_BINARY_DIR}/Utilities/Doxygen/doxyfile)
+-
+-configure_file(
+-  ${VTK_SOURCE_DIR}/Utilities/Doxygen/doc_makeall.cmake.in
+-  ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake
+-  @ONLY)
+-
+-add_custom_target(DoxygenDoc
+-  ${CMAKE_COMMAND}
+-  -P ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake
+-  DEPENDS ${VTK_BINARY_DIR}/Utilities/Doxygen/doc_makeall.cmake)
++endif()
+ if(NOT VTK_INSTALL_NO_DOCUMENTATION)
+   macro(__vtk_install_documentation_files glob)
diff --git a/debian/patches/108_Doxygen-use-mathjax.patch b/debian/patches/108_Doxygen-use-mathjax.patch
new file mode 100644 (file)
index 0000000..236c423
--- /dev/null
@@ -0,0 +1,28 @@
+--- a/Utilities/Doxygen/CMakeLists.txt
++++ b/Utilities/Doxygen/CMakeLists.txt
+@@ -52,6 +52,13 @@
+     endif()
+   endforeach()
+   
++  FIND_PATH(MATHJAX_CODEFILE MathJax.js
++    PATHS
++    /usr/share/mathjax/
++    /usr/share/javascript/
++    /usr/share/javascript/mathjax/
++    )
++  
+   configure_file(
+     ${VTK_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in
+     ${VTK_BINARY_DIR}/Utilities/Doxygen/doxyfile)
+--- a/Utilities/Doxygen/doxyfile.in
++++ b/Utilities/Doxygen/doxyfile.in
+@@ -19,6 +19,9 @@
+ GENERATE_TAGFILE     = "@VTK_BINARY_DIR@/Utilities/Doxygen/vtk@VTK_MAJOR_VERSION@.@VTK_MINOR_VERSION@.tag"
+ PDF_HYPERLINKS       = YES
++USE_MATHJAX  = YES
++MATHJAX_RELPATH = @MATHJAX_CODEFILE@
++
+ HAVE_DOT             = @HAVE_DOT_YESNO@
+ DOT_PATH             = "@DOT_PATH@"
diff --git a/debian/patches/110_do_not_link_against_socket.patch b/debian/patches/110_do_not_link_against_socket.patch
new file mode 100644 (file)
index 0000000..575840f
--- /dev/null
@@ -0,0 +1,14 @@
+Description: Do not try linking with -lsocket
+
+--- a/Common/System/vtkTestSocketFeatures.cmake
++++ b/Common/System/vtkTestSocketFeatures.cmake
+@@ -6,9 +6,6 @@
+ if(NOT DEFINED VTK_HAVE_GETSOCKNAME_WITH_SOCKLEN_T)
+   set(VTK_GETSOCKNAME_LIBS)
+-  if(VTK_HAVE_LIBSOCKET)
+-    list(APPEND VTK_GETSOCKNAME_LIBS "socket")
+-  endif()
+   message(STATUS "Checking for getsockname with socklen_t")
+   try_compile(VTK_HAVE_GETSOCKNAME_WITH_SOCKLEN_T_COMPILED
+     ${VTK_BINARY_DIR}/CMakeTmp/SocklenT
diff --git a/debian/patches/20_soversion-sharedlib.patch b/debian/patches/20_soversion-sharedlib.patch
new file mode 100644 (file)
index 0000000..3dbf162
--- /dev/null
@@ -0,0 +1,24 @@
+--- a/CMake/vtkModuleMacros.cmake
++++ b/CMake/vtkModuleMacros.cmake
+@@ -439,8 +439,8 @@
+ function(vtk_target_name _name)
+   get_property(_type TARGET ${_name} PROPERTY TYPE)
+   if(NOT "${_type}" STREQUAL EXECUTABLE AND NOT VTK_JAVA_INSTALL)
+-    set_property(TARGET ${_name} PROPERTY VERSION 1)
+-    set_property(TARGET ${_name} PROPERTY SOVERSION 1)
++    set_property(TARGET ${_name} PROPERTY VERSION ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION})
++    set_property(TARGET ${_name} PROPERTY SOVERSION ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION})
+   endif()
+   if("${_name}" MATCHES "^[Vv][Tt][Kk]")
+     set(_vtk "")
+--- a/Rendering/Tk/CMakeLists.txt
++++ b/Rendering/Tk/CMakeLists.txt
+@@ -82,7 +82,7 @@
+     vtk_target_install(vtkRenderingPythonTkWidgets)
+     set_property(TARGET vtkRenderingPythonTkWidgets PROPERTY OUTPUT_NAME
+-         vtkRenderingPythonTkWidgets-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION})
++         vtkRenderingPythonTkWidgets)
+     set(Module_PYTHON_LIBS ${VTK_TK_LIBRARIES})
+     if(VTK_USE_X)
diff --git a/debian/patches/30_matplotlib.patch b/debian/patches/30_matplotlib.patch
new file mode 100644 (file)
index 0000000..6888f1c
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/Rendering/Matplotlib/vtkMatplotlibMathTextUtilities.h
++++ b/Rendering/Matplotlib/vtkMatplotlibMathTextUtilities.h
+@@ -156,6 +156,10 @@
+    * to implement IsAvailable.
+    */
+   static Availability CheckMPLAvailability();
++  static void DisableMPL()
++    {
++    MPLMathTextAvailable = UNAVAILABLE;
++    };
+   //@{
+   /**
diff --git a/debian/patches/50_use_system_utf8.patch b/debian/patches/50_use_system_utf8.patch
new file mode 100644 (file)
index 0000000..addfc00
--- /dev/null
@@ -0,0 +1,270 @@
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ vtk6 (6.2.0-1) unstable; urgency=medium
+ .
+   [ James Cowgill ]
+   * [0b9b309] Fix FTBFS due to new freetype. (Closes: #779802)
+Author: Anton Gladky <gladk@debian.org>
+Bug-Debian: https://bugs.debian.org/779802
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: <vendor|upstream|other>, <url of original patch>
+Bug: <url in upstream bugtracker>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: <no|not-needed|url proving that it has been forwarded>
+Reviewed-By: <name and email of someone who approved the patch>
+Last-Update: <YYYY-MM-DD>
+
+--- a/Common/Core/module.cmake
++++ b/Common/Core/module.cmake
+@@ -14,5 +14,4 @@ vtk_module(vtkCommonCore
+     vtkkwiml
+   PRIVATE_DEPENDS
+     vtksys
+-    vtkutf8
+   )
+diff --git a/Common/Core/vtkUnicodeString.cxx b/Common/Core/vtkUnicodeString.cxx
+index 8e50363d..d7681605 100644
+--- a/Common/Core/vtkUnicodeString.cxx
++++ b/Common/Core/vtkUnicodeString.cxx
+@@ -22,7 +22,7 @@
+ #include "vtkUnicodeString.h"
+ #include "vtkObject.h"
+-#include <vtk_utf8.h>
++#include <utf8.h>
+ #include <map>
+ #include <stdexcept>
+@@ -39,7 +39,7 @@ vtkUnicodeString::const_iterator::const_iterator(std::string::const_iterator pos
+ vtkUnicodeString::value_type vtkUnicodeString::const_iterator::operator*() const
+ {
+-  return vtk_utf8::unchecked::peek_next(this->Position);
++  return utf8::unchecked::peek_next(this->Position);
+ }
+ bool vtkUnicodeString::const_iterator::operator==(const const_iterator& rhs) const
+@@ -54,27 +54,27 @@ bool vtkUnicodeString::const_iterator::operator!=(const const_iterator& rhs) con
+ vtkUnicodeString::const_iterator& vtkUnicodeString::const_iterator::operator++()
+ {
+-  vtk_utf8::unchecked::next(this->Position);
++  utf8::unchecked::next(this->Position);
+   return *this;
+ }
+ vtkUnicodeString::const_iterator vtkUnicodeString::const_iterator::operator++(int)
+ {
+   const_iterator result(this->Position);
+-  vtk_utf8::unchecked::next(this->Position);
++  utf8::unchecked::next(this->Position);
+   return result;
+ }
+ vtkUnicodeString::const_iterator& vtkUnicodeString::const_iterator::operator--()
+ {
+-  vtk_utf8::unchecked::prior(this->Position);
++  utf8::unchecked::prior(this->Position);
+   return *this;
+ }
+ vtkUnicodeString::const_iterator vtkUnicodeString::const_iterator::operator--(int)
+ {
+   const_iterator result(this->Position);
+-  vtk_utf8::unchecked::prior(this->Position);
++  utf8::unchecked::prior(this->Position);
+   return result;
+ }
+@@ -130,7 +130,7 @@ vtkUnicodeString::vtkUnicodeString(const vtkUnicodeString& rhs) :
+ vtkUnicodeString::vtkUnicodeString(size_type count, value_type character)
+ {
+   for(size_type i = 0; i != count; ++i)
+-    vtk_utf8::append(character, vtkUnicodeString::back_insert_iterator(this->Storage));
++    utf8::append(character, vtkUnicodeString::back_insert_iterator(this->Storage));
+ }
+ vtkUnicodeString::vtkUnicodeString(const_iterator first, const_iterator last) :
+@@ -145,7 +145,7 @@ bool vtkUnicodeString::is_utf8(const char* value)
+ bool vtkUnicodeString::is_utf8(const std::string& value)
+ {
+-  return vtk_utf8::is_valid(value.begin(), value.end());
++  return utf8::is_valid(value.begin(), value.end());
+ }
+ vtkUnicodeString vtkUnicodeString::from_utf8(const char* value)
+@@ -156,7 +156,7 @@ vtkUnicodeString vtkUnicodeString::from_utf8(const char* value)
+ vtkUnicodeString vtkUnicodeString::from_utf8(const char* begin, const char* end)
+ {
+   vtkUnicodeString result;
+-  if(vtk_utf8::is_valid(begin, end))
++  if(utf8::is_valid(begin, end))
+   {
+     result.Storage = std::string(begin, end);
+   }
+@@ -170,7 +170,7 @@ vtkUnicodeString vtkUnicodeString::from_utf8(const char* begin, const char* end)
+ vtkUnicodeString vtkUnicodeString::from_utf8(const std::string& value)
+ {
+   vtkUnicodeString result;
+-  if(vtk_utf8::is_valid(value.begin(), value.end()))
++  if(utf8::is_valid(value.begin(), value.end()))
+   {
+     result.Storage = value;
+   }
+@@ -193,9 +193,9 @@ vtkUnicodeString vtkUnicodeString::from_utf16(const vtkTypeUInt16* value)
+     try
+     {
+-      vtk_utf8::utf16to8(value, value + length, vtkUnicodeString::back_insert_iterator(result.Storage));
++      utf8::utf16to8(value, value + length, vtkUnicodeString::back_insert_iterator(result.Storage));
+     }
+-    catch(vtk_utf8::invalid_utf16&)
++    catch(utf8::invalid_utf16&)
+     {
+       vtkGenericWarningMacro(<< "vtkUnicodeString::from_utf16(): not a valid UTF-16 string.");
+     }
+@@ -229,15 +229,15 @@ vtkUnicodeString::value_type vtkUnicodeString::at(size_type offset) const
+     throw std::out_of_range("character out-of-range");
+   std::string::const_iterator iterator = this->Storage.begin();
+-  vtk_utf8::unchecked::advance(iterator, offset);
+-  return vtk_utf8::unchecked::peek_next(iterator);
++  utf8::unchecked::advance(iterator, offset);
++  return utf8::unchecked::peek_next(iterator);
+ }
+ vtkUnicodeString::value_type vtkUnicodeString::operator[](size_type offset) const
+ {
+   std::string::const_iterator iterator = this->Storage.begin();
+-  vtk_utf8::unchecked::advance(iterator, offset);
+-  return vtk_utf8::unchecked::peek_next(iterator);
++  utf8::unchecked::advance(iterator, offset);
++  return utf8::unchecked::peek_next(iterator);
+ }
+ const char* vtkUnicodeString::utf8_str() const
+@@ -253,14 +253,14 @@ void vtkUnicodeString::utf8_str(std::string& result) const
+ std::vector<vtkTypeUInt16> vtkUnicodeString::utf16_str() const
+ {
+   std::vector<vtkTypeUInt16> result;
+-  vtk_utf8::unchecked::utf8to16(this->Storage.begin(), this->Storage.end(), std::back_inserter(result));
++  utf8::unchecked::utf8to16(this->Storage.begin(), this->Storage.end(), std::back_inserter(result));
+   return result;
+ }
+ void vtkUnicodeString::utf16_str(std::vector<vtkTypeUInt16>& result) const
+ {
+   result.clear();
+-  vtk_utf8::unchecked::utf8to16(this->Storage.begin(), this->Storage.end(), std::back_inserter(result));
++  utf8::unchecked::utf8to16(this->Storage.begin(), this->Storage.end(), std::back_inserter(result));
+ }
+ vtkUnicodeString::size_type vtkUnicodeString::byte_count() const
+@@ -270,7 +270,7 @@ vtkUnicodeString::size_type vtkUnicodeString::byte_count() const
+ vtkUnicodeString::size_type vtkUnicodeString::character_count() const
+ {
+-  return vtk_utf8::unchecked::distance(this->Storage.begin(), this->Storage.end());
++  return utf8::unchecked::distance(this->Storage.begin(), this->Storage.end());
+ }
+ bool vtkUnicodeString::empty() const
+@@ -296,9 +296,9 @@ void vtkUnicodeString::push_back(value_type character)
+ {
+   try
+   {
+-    vtk_utf8::append(character, vtkUnicodeString::back_insert_iterator(this->Storage));
++    utf8::append(character, vtkUnicodeString::back_insert_iterator(this->Storage));
+   }
+-  catch(vtk_utf8::invalid_code_point&)
++  catch(utf8::invalid_code_point&)
+   {
+     vtkGenericWarningMacro("vtkUnicodeString::push_back(): " << character << "is not a valid Unicode code point");
+   }
+@@ -315,7 +315,7 @@ void vtkUnicodeString::append(size_type count, value_type character)
+   {
+     this->Storage.append(vtkUnicodeString(count, character).Storage);
+   }
+-  catch(vtk_utf8::invalid_code_point&)
++  catch(utf8::invalid_code_point&)
+   {
+     vtkGenericWarningMacro("vtkUnicodeString::append(): " << character << "is not a valid Unicode code point");
+   }
+@@ -341,7 +341,7 @@ void vtkUnicodeString::assign(size_type count, value_type character)
+   {
+     this->Storage.assign(vtkUnicodeString(count, character).Storage);
+   }
+-  catch(vtk_utf8::invalid_code_point&)
++  catch(utf8::invalid_code_point&)
+   {
+     vtkGenericWarningMacro("vtkUnicodeString::assign(): " << character << "is not a valid Unicode code point");
+   }
+@@ -411,11 +411,11 @@ vtkUnicodeString vtkUnicodeString::substr(size_type offset, size_type count) con
+   std::string::const_iterator last = this->Storage.end();
+   while(from != last && offset--)
+-    vtk_utf8::unchecked::advance(from, 1);
++    utf8::unchecked::advance(from, 1);
+   std::string::const_iterator to = from;
+   while(to != last && count--)
+-    vtk_utf8::unchecked::advance(to, 1);
++    utf8::unchecked::advance(to, 1);
+   return vtkUnicodeString(from, to);
+ }
+diff --git a/IO/Core/module.cmake b/IO/Core/module.cmake
+index 24b54af0..d4907066 100644
+--- a/IO/Core/module.cmake
++++ b/IO/Core/module.cmake
+@@ -14,7 +14,6 @@ vtk_module(vtkIOCore
+     vtklz4
+     vtklzma
+     vtksys
+-    vtkutf8
+     vtkzlib
+     vtkdoubleconversion
+   )
+diff --git a/IO/Core/vtkUTF8TextCodec.cxx b/IO/Core/vtkUTF8TextCodec.cxx
+index c7f7985c..b0eeb9de 100644
+--- a/IO/Core/vtkUTF8TextCodec.cxx
++++ b/IO/Core/vtkUTF8TextCodec.cxx
+@@ -23,7 +23,7 @@ PURPOSE.  See the above copyright notice for more information.
+ #include "vtkObjectFactory.h"
+ #include "vtkTextCodecFactory.h"
+-#include <vtk_utf8.h>
++#include <utf8.h>
+ vtkStandardNewMacro(vtkUTF8TextCodec);
+@@ -124,7 +124,7 @@ vtkUnicodeString::value_type vtkUTF8TextCodec::NextUnicode(istream& InputStream)
+     throw(std::string("End of Input"));
+   }
+-  getSize = vtk_utf8::internal::sequence_length(c);
++  getSize = utf8::internal::sequence_length(c);
+   if (0 == getSize)
+     throw(std::string("Not enough space"));
+@@ -138,7 +138,7 @@ vtkUnicodeString::value_type vtkUTF8TextCodec::NextUnicode(istream& InputStream)
+   istream::char_type* c1 = c;
+-  const vtkTypeUInt32 code_point = vtk_utf8::next(c1, &c[getSize]);
++  const vtkTypeUInt32 code_point = utf8::next(c1, &c[getSize]);
+   return code_point;
+ }
diff --git a/debian/patches/60_remove_mpi4py_dependency.patch b/debian/patches/60_remove_mpi4py_dependency.patch
new file mode 100644 (file)
index 0000000..91ceda2
--- /dev/null
@@ -0,0 +1,16 @@
+Description: remove internal vtkmpi4py dependency
+Author: Nico Schlömer <nico.schloemer@gmail.com>
+Last-Update: 2019-06-02
+
+diff --git a/Parallel/MPI4Py/module.cmake b/Parallel/MPI4Py/module.cmake
+index 07d789b2..26615b48 100644
+--- a/Parallel/MPI4Py/module.cmake
++++ b/Parallel/MPI4Py/module.cmake
+@@ -5,7 +5,6 @@ if (VTK_WRAP_PYTHON)
+     DEPENDS
+       vtkParallelMPI
+     COMPILE_DEPENDS
+-      vtkmpi4py
+       vtkPython
+     OPTIONAL_PYTHON_LINK
+     EXCLUDE_FROM_JAVA_WRAPPING
diff --git a/debian/patches/70_fix_ftbfs_gcc49.patch b/debian/patches/70_fix_ftbfs_gcc49.patch
new file mode 100644 (file)
index 0000000..37c54fe
--- /dev/null
@@ -0,0 +1,106 @@
+Description: fix compilation with gcc-4.9
+Author: Anton Gladky <gladk@debian.org>
+Bug-Debian: http://bugs.debian.org/746923
+Forwarded: https://github.com/Kitware/VTK/pull/7
+Last-Update: 2014-05-30
+
+--- a/Filters/ParallelMPI/vtkDistributedDataFilter.cxx
++++ b/Filters/ParallelMPI/vtkDistributedDataFilter.cxx
+@@ -1206,7 +1206,10 @@
+   vtkIdType cellsPerNode = numTotalCells / nprocs;
+   vtkIdList **sendCells = new vtkIdList * [ nprocs ];
+-  memset(sendCells, 0, sizeof(vtkIdList *) * nprocs);
++  
++  if (sizeof(vtkIdList *) * nprocs > 0) {
++    memset(sendCells, 0, sizeof(vtkIdList *) * nprocs);
++  }
+   if (numConsumers == nprocs - 1)
+   {
+@@ -1700,7 +1703,9 @@
+   // Exchange int arrays
+   float **recvArrays = new float * [nprocs];
+-  memset(recvArrays, 0, sizeof(float *) * nprocs);
++  if (sizeof(float *) * nprocs > 0) {
++    memset(recvArrays, 0, sizeof(float *) * nprocs);
++  }
+   if (sendSize[me] > 0)  // sent myself an array
+   {
+@@ -1822,7 +1827,9 @@
+   // Exchange int arrays
+   vtkIdType **recvArrays = new vtkIdType * [nprocs];
+-  memset(recvArrays, 0, sizeof(vtkIdType *) * nprocs);
++  if (sizeof(vtkIdType *) * nprocs > 0) {
++    memset(recvArrays, 0, sizeof(vtkIdType *) * nprocs);
++  }
+   if (sendSize[me] > 0)  // sent myself an array
+   {
+@@ -3167,7 +3174,9 @@
+   vtkIdType nGridPoints = grid->GetNumberOfPoints();
+   vtkIdType *numPointsOutside = new vtkIdType [nprocs];
+-  memset(numPointsOutside, 0, sizeof(vtkIdType) * nprocs);
++  if (sizeof(vtkIdType) * nprocs > 0) {
++    memset(numPointsOutside, 0, sizeof(vtkIdType) * nprocs);
++  }
+   vtkIdTypeArray *globalIds = vtkIdTypeArray::New();
+   globalIds->SetNumberOfValues(nGridPoints);
+@@ -3249,10 +3258,16 @@
+   // global ID back?
+   vtkFloatArray **ptarrayOut = new vtkFloatArray * [nprocs];
+-  memset(ptarrayOut, 0, sizeof(vtkFloatArray *) * nprocs);
++  
++  if (sizeof(vtkFloatArray *) * nprocs > 0) {
++    memset(ptarrayOut, 0, sizeof(vtkFloatArray *) * nprocs);
++  }
+   vtkIdTypeArray **localIds     = new vtkIdTypeArray * [nprocs];
+-  memset(localIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++  
++  if (sizeof(vtkIdTypeArray *) * nprocs > 0) {
++    memset(localIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++  }
+   vtkIdType *next = new vtkIdType [nprocs];
+   vtkIdType *next3 = new vtkIdType [nprocs];
+@@ -3430,7 +3445,9 @@
+   {
+     // There are no cells in my assigned region
+-    memset(gids, 0, sizeof(vtkIdTypeArray *) * nprocs);
++    if (sizeof(vtkIdTypeArray *) * nprocs > 0) {
++      memset(gids, 0, sizeof(vtkIdTypeArray *) * nprocs);
++    }
+     return gids;
+   }
+@@ -3641,7 +3658,10 @@
+   std::multimap<int, int>::iterator mapIt;
+   vtkIdTypeArray **processList = new vtkIdTypeArray * [nprocs];
+-  memset(processList, 0, sizeof (vtkIdTypeArray *) * nprocs);
++
++  if (sizeof (vtkIdTypeArray *) * nprocs > 0) {
++    memset(processList, 0, sizeof (vtkIdTypeArray *) * nprocs);
++  }
+   for (int i=0; i<nprocs; i++)
+   {
+@@ -3734,7 +3754,9 @@
+   vtkIdType numPoints = grid->GetNumberOfPoints();
+   vtkIdTypeArray **ghostPtIds = new vtkIdTypeArray * [nprocs];
+-  memset(ghostPtIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++  if (sizeof(vtkIdTypeArray *) * nprocs) {
++    memset(ghostPtIds, 0, sizeof(vtkIdTypeArray *) * nprocs);
++  }
+   if (numPoints < 1)
+   {
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644 (file)
index 0000000..f346ea3
--- /dev/null
@@ -0,0 +1,11 @@
+20_soversion-sharedlib.patch
+30_matplotlib.patch
+50_use_system_utf8.patch
+60_remove_mpi4py_dependency.patch
+70_fix_ftbfs_gcc49.patch
+100_javac-heap.patch
+101_java_install_path.patch
+105_unforce_embedded_glew.patch
+106_install_doxygen_scripts_in_nodoc_build.patch
+108_Doxygen-use-mathjax.patch
+110_do_not_link_against_socket.patch
diff --git a/debian/python3-vtk8.install b/debian/python3-vtk8.install
new file mode 100644 (file)
index 0000000..2f0cca1
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/python3*/site-packages/* /usr/lib/python3/dist-packages/
diff --git a/debian/python3-vtk8.lintian-overrides b/debian/python3-vtk8.lintian-overrides
new file mode 100644 (file)
index 0000000..f7f17ea
--- /dev/null
@@ -0,0 +1,4 @@
+# Upstream does not provide manpages
+python3-vtk8: binary-without-manpage
+python3-vtk8: binary-or-shlib-defines-rpath
+python3-vtk8: hardening-no-relro
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..bda3117
--- /dev/null
@@ -0,0 +1,119 @@
+#!/usr/bin/make -f
+BUILDDIR = $(CURDIR)/debian/build
+
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+
+# deduce documentation option (build-indep target)
+ifeq "" "$(filter %-doc,$(shell dh_listpackages))"
+  BUILDDOC = OFF
+else
+  BUILDDOC = ON
+endif
+
+# export JAVA_HOME to help FindJava.cmake and FindJNI.cmake
+export JAVA_HOME=/usr/lib/jvm/default-java
+
+%:
+       dh $@ --buildsystem=cmake --builddirectory=$(BUILDDIR) --with python3 --with javahelper
+
+extra_flags +=  \
+  -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+       -DCMAKE_VERBOSE_MAKEFILE=ON \
+       -DCMAKE_C_COMPILER=mpicc \
+       -DCMAKE_CXX_COMPILER=mpic++ \
+       -DBUILD_DOCUMENTATION=$(BUILDDOC) \
+       -DBUILD_EXAMPLES=ON \
+       -DBUILD_SHARED_LIBS=ON \
+       -DBUILD_TESTING=OFF \
+       -DVTK_USE_TK=ON \
+       \
+       -DVTK_WRAP_JAVA=ON \
+       -DVTK_WRAP_PYTHON=ON \
+         -DVTK_PYTHON_VERSION:STRING=3 \
+       \
+       -DVTK_USE_SYSTEM_DOUBLECONVERSION=ON \
+       -DVTK_USE_SYSTEM_EIGEN=ON \
+       -DVTK_USE_SYSTEM_EXPAT=ON \
+       -DVTK_USE_SYSTEM_FREETYPE=ON \
+       -DVTK_USE_SYSTEM_GL2PS=ON \
+       -DVTK_USE_SYSTEM_GLEW=ON \
+       -DVTK_USE_SYSTEM_HDF5=ON \
+         -DHDF5_PREFER_PARALLEL=ON \
+       -DVTK_USE_SYSTEM_JPEG=ON \
+       -DVTK_USE_SYSTEM_JSONCPP=ON \
+       -DVTK_USE_SYSTEM_LIBPROJ=ON \
+       -DVTK_USE_SYSTEM_LIBXML2=ON \
+       -DVTK_USE_SYSTEM_LZ4=ON \
+       -DVTK_USE_SYSTEM_LZMA=ON \
+       -DVTK_USE_SYSTEM_MPI4PY=ON \
+       -DVTK_USE_SYSTEM_NETCDF=ON \
+       -DVTK_USE_SYSTEM_PNG=ON \
+       -DVTK_USE_SYSTEM_SQLITE=ON \
+       -DVTK_USE_SYSTEM_TIFF=ON \
+       -DVTK_USE_SYSTEM_XDMF3=ON \
+       -DVTK_USE_SYSTEM_ZLIB=ON \
+       \
+       -DVTK_EXTRA_COMPILER_WARNINGS=ON \
+       -DVTK_Group_Imaging=ON \
+       -DVTK_Group_MPI=ON \
+       -DVTK_Group_Tk=ON \
+       -DVTK_Group_Views=ON \
+       -DMPI_CXX_INCLUDE_PATH="/usr/include/mpi" \
+       -DVTK_INSTALL_LIBRARY_DIR="/usr/lib/$(DEB_HOST_MULTIARCH)" \
+       -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed" \
+       -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed" \
+       -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed" \
+       -DModule_vtkRenderingExternal=ON \
+       -DModule_vtkAcceleratorsVTKm=OFF
+
+extra_flags += -DVTK_QT_VERSION=5      -DVTK_Group_Qt=ON
+
+override_dh_auto_configure:
+ifneq (,$(filter $(DEB_HOST_ARCH),$(noqt_archs)))
+       echo '' > $(CURDIR)/Views/Qt/module.cmake
+       echo '' > $(CURDIR)/GUISupport/QtWebkit/module.cmake
+       echo '' > $(CURDIR)/Rendering/Qt/module.cmake
+       echo '' > $(CURDIR)/GUISupport/QtOpenGL/module.cmake
+       echo '' > $(CURDIR)/Examples/GUI/Qt/SimpleView/CMakeLists.txt
+endif
+       dh_auto_configure -- $(extra_flags)
+
+override_dh_auto_clean:
+       dh_auto_clean
+       rm -rf $(BUILDDIR)
+
+override_dh_auto_build-indep:
+       # Make doc (see http://www.vtk.org/Wiki/VTK/BuildingDoxygen)
+       cd $(BUILDDIR) && make DoxygenDoc
+       # remove .md5 files
+       find $(BUILDDIR)/Utilities/Doxygen/doc/html/ -name "*.md5" | xargs rm -f
+
+override_dh_auto_build-arch:
+       dh_auto_build
+
+override_dh_auto_install:
+       pwd
+       dh_auto_install -X.pyc -X.pyo
+       # Modify vtkWrapJava.cmake to properly upload JavaDependencies.cmake.in from $VTK_DIR
+       perl -pi -e "s|{dir}/JavaDependencies.cmake.in\"|{VTK_DIR}/JavaDependencies.cmake.in\"|" debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/cmake/vtk-8.2/vtkWrapJava.cmake
+       # Correct headers for paraview
+       mv $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/vtk.jar $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/vtk8.jar
+       mv $(CURDIR)/debian/build/bin/vtkpython $(CURDIR)/debian/build/bin/vtk8python
+       sed -i -e "s/FATAL_ERROR/STATUS/g" $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/cmake/vtk-8.2/VTKTargets.cmake
+       chrpath -d $(CURDIR)/debian/build/bin/vtk8python
+       # chrpath -d $(CURDIR)/debian/build/bin/pvtk
+       chrpath -d $(CURDIR)/debian/build/bin/pvtkpython
+       # mv $(CURDIR)/debian/tmp/usr/bin/vtk $(CURDIR)/debian/tmp/usr/bin/vtk8
+       find $(CURDIR)/debian/tmp/ -name "*.pyc" | xargs rm -f
+       find $(CURDIR)/debian/tmp/ -name "*.pyo" | xargs rm -f
+
+override_dh_install-arch:
+       dh_install -a
+       find $(CURDIR)/debian/libvtk8-dev/ -name "*Qt*" -exec rm {} \;
+       find $(CURDIR)/debian/libvtk8/ -name "*Qt*" -exec rm {} \;
+       find $(CURDIR)/debian/libvtk8-dev/ -name "libvtkRenderingPythonTkWidgets.so" -exec rm {} \;
+       find $(CURDIR)/debian/libvtk8-dev/usr/include/ -name "Q*" -exec rm {} \;
+       # chmod 755 $(CURDIR)/debian/libvtk8-dev/usr/share/doc/vtk-8.2/doxygen/*.pl
+       # mkdir -p  $(CURDIR)/debian/python3-vtk8/usr/lib/$(DEB_HOST_MULTIARCH)/python3.7/site-packages/ && \
+       #   cd $(CURDIR)/debian/python3-vtk8/usr/lib/$(DEB_HOST_MULTIARCH)/python3.7/site-packages/ && \
+       #   ln -s /usr/lib/python3/dist-packages/vtk vtk
diff --git a/debian/source/format b/debian/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/tcl-vtk8.install b/debian/tcl-vtk8.install
new file mode 100644 (file)
index 0000000..acfa337
--- /dev/null
@@ -0,0 +1,3 @@
+# usr/bin/vtkWrapTcl-8.2
+# usr/bin/vtkWrapTclInit-8.2
+# usr/lib/tcltk
diff --git a/debian/tcl-vtk8.lintian-overrides b/debian/tcl-vtk8.lintian-overrides
new file mode 100644 (file)
index 0000000..572112c
--- /dev/null
@@ -0,0 +1,3 @@
+# Upstream does not provide manpages
+tcl-vtk8: binary-without-manpage
+tcl-vtk8: hardening-no-relro
diff --git a/debian/tests/buildBoolean b/debian/tests/buildBoolean
new file mode 100755 (executable)
index 0000000..7a9ad17
--- /dev/null
@@ -0,0 +1,176 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL  vtkIOLegacy)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkVersion.h>
+#include <vtkBooleanOperationPolyDataFilter.h>
+#include <vtkActor.h>
+#include <vtkPolyDataReader.h>
+#include <vtkPolyDataMapper.h>
+#include <vtkProperty.h>
+#include <vtkRenderer.h>
+#include <vtkRenderWindow.h>
+#include <vtkRenderWindowInteractor.h>
+#include <vtkSmartPointer.h>
+#include <vtkSphereSource.h>
+int main(int argc, char *argv[])
+{
+  vtkSmartPointer<vtkPolyData> input1;
+  vtkSmartPointer<vtkPolyData> input2;
+  std::string operation("intersection");
+  if (argc == 4)
+    {
+    vtkSmartPointer<vtkPolyDataReader> reader1 =
+      vtkSmartPointer<vtkPolyDataReader>::New();
+    reader1->SetFileName(argv[1]);
+    reader1->Update();
+    input1 = reader1->GetOutput();
+    vtkSmartPointer<vtkPolyDataReader> reader2 =
+      vtkSmartPointer<vtkPolyDataReader>::New();
+    reader2->SetFileName(argv[3]);
+    reader2->Update();
+    input2 = reader2->GetOutput();
+    operation = argv[2];
+    }
+  else
+    {
+    vtkSmartPointer<vtkSphereSource> sphereSource1 =
+      vtkSmartPointer<vtkSphereSource>::New();
+    sphereSource1->SetCenter(.25, 0, 0);
+    sphereSource1->Update();
+    input1 = sphereSource1->GetOutput();
+    vtkSmartPointer<vtkSphereSource> sphereSource2 =
+      vtkSmartPointer<vtkSphereSource>::New();
+    sphereSource2->Update();
+    input2 = sphereSource2->GetOutput();
+    if (argc == 2)
+      {
+      operation = argv[1];
+      }
+    }
+  vtkSmartPointer<vtkPolyDataMapper> input1Mapper =
+    vtkSmartPointer<vtkPolyDataMapper>::New();
+#if VTK_MAJOR_VERSION <= 5
+  input1Mapper->SetInputConnection( input1->GetProducerPort() );
+#else
+  input1Mapper->SetInputData( input1 );
+#endif
+  input1Mapper->ScalarVisibilityOff();
+  vtkSmartPointer<vtkActor> input1Actor =
+    vtkSmartPointer<vtkActor>::New();
+  input1Actor->SetMapper( input1Mapper );
+  input1Actor->GetProperty()->SetColor(1,0,0);
+  input1Actor->SetPosition(
+    input1->GetBounds()[1]-input1->GetBounds()[0],
+    0, 0);
+  vtkSmartPointer<vtkPolyDataMapper> input2Mapper =
+    vtkSmartPointer<vtkPolyDataMapper>::New();
+#if VTK_MAJOR_VERSION <= 5
+  input2Mapper->SetInputConnection( input2->GetProducerPort() );
+#else
+  input2Mapper->SetInputData( input2 );
+#endif
+  input2Mapper->ScalarVisibilityOff();
+  vtkSmartPointer<vtkActor> input2Actor =
+    vtkSmartPointer<vtkActor>::New();
+  input2Actor->SetMapper( input2Mapper );
+  input2Actor->GetProperty()->SetColor(0,1,0);
+  input2Actor->SetPosition(
+    -(input2->GetBounds()[1]-input2->GetBounds()[0]),
+    0, 0);
+  vtkSmartPointer<vtkBooleanOperationPolyDataFilter> booleanOperation =
+    vtkSmartPointer<vtkBooleanOperationPolyDataFilter>::New();
+  if (operation == "union")
+    {
+      booleanOperation->SetOperationToUnion();
+    }
+  else if (operation == "intersection")
+    {
+      booleanOperation->SetOperationToIntersection();
+    }
+  else if (operation == "difference")
+    {
+      booleanOperation->SetOperationToDifference();
+    }
+  else
+    {
+    std::cout << "Unknown operation: " << operation << std::endl;
+    return EXIT_FAILURE;
+    }
+#if VTK_MAJOR_VERSION <= 5
+  booleanOperation->SetInputConnection( 0, input1->GetProducerPort() );
+  booleanOperation->SetInputConnection( 1, input2->GetProducerPort() );
+#else
+  booleanOperation->SetInputData( 0, input1 );
+  booleanOperation->SetInputData( 1, input2 );
+#endif
+  vtkSmartPointer<vtkPolyDataMapper> booleanOperationMapper =
+    vtkSmartPointer<vtkPolyDataMapper>::New();
+  booleanOperationMapper->SetInputConnection( booleanOperation->GetOutputPort() );
+  booleanOperationMapper->ScalarVisibilityOff();
+  vtkSmartPointer<vtkActor> booleanOperationActor =
+    vtkSmartPointer<vtkActor>::New();
+  booleanOperationActor->SetMapper( booleanOperationMapper );
+  vtkSmartPointer<vtkRenderer> renderer =
+    vtkSmartPointer<vtkRenderer>::New();
+  renderer->AddViewProp(input1Actor);
+  renderer->AddViewProp(input2Actor);
+  renderer->AddViewProp(booleanOperationActor);
+  renderer->SetBackground(.1, .2, .3);
+  vtkSmartPointer<vtkRenderWindow> renderWindow =
+    vtkSmartPointer<vtkRenderWindow>::New();
+  renderWindow->AddRenderer( renderer );
+  vtkSmartPointer<vtkRenderWindowInteractor> renWinInteractor =
+    vtkSmartPointer<vtkRenderWindowInteractor>::New();
+  renWinInteractor->SetRenderWindow( renderWindow );
+  return EXIT_SUCCESS;
+}
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+echo "run: OK"
diff --git a/debian/tests/buildDistance b/debian/tests/buildDistance
new file mode 100755 (executable)
index 0000000..daba453
--- /dev/null
@@ -0,0 +1,59 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL  vtkIOLegacy)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkMath.h>
+int main(int, char *[])
+{
+  // Create two points.
+  double p0[3] = {0.0, 0.0, 0.0};
+  double p1[3] = {1.0, 1.0, 1.0};
+  // Find the squared distance between the points.
+  double squaredDistance = vtkMath::Distance2BetweenPoints(p0, p1);
+  // Take the square root to get the Euclidean distance between the points.
+  double distance = sqrt(squaredDistance);
+  // Output the results.
+  std::cout << "SquaredDistance = " << squaredDistance << std::endl;
+  std::cout << "Distance = " << distance << std::endl;
+  return EXIT_SUCCESS;
+}
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+echo "run: OK"
diff --git a/debian/tests/buildGenericClip b/debian/tests/buildGenericClip
new file mode 100755 (executable)
index 0000000..50f7ea6
--- /dev/null
@@ -0,0 +1,156 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL  vtkIOLegacy)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkActor.h>
+#include <vtkBridgeDataSet.h>
+#include <vtkCellData.h>
+#include <vtkContourFilter.h>
+#include <vtkDataSetMapper.h>
+#include <vtkDelaunay3D.h>
+#include <vtkElevationFilter.h>
+#include <vtkGenericClip.h>
+#include <vtkImageData.h>
+#include <vtkImplicitDataSet.h>
+#include <vtkIdFilter.h>
+#include <vtkIdTypeArray.h>
+#include <vtkSphereSource.h>
+#include <vtkPolyDataMapper.h>
+#include <vtkProperty.h>
+#include <vtkRenderWindow.h>
+#include <vtkRenderer.h>
+#include <vtkRenderWindowInteractor.h>
+#include <vtkSampleFunction.h>
+#include <vtkSmartPointer.h>
+#include <vtkPlane.h>
+#include <vtkUnstructuredGrid.h>
+int main(int, char**)
+{
+  vtkSmartPointer<vtkSphereSource> sphereSource =
+  vtkSmartPointer<vtkSphereSource>::New();
+  sphereSource->SetRadius(5);
+  sphereSource->SetThetaResolution(10);
+  sphereSource->SetPhiResolution(10);
+  sphereSource->Update();
+  // Add ids to the points and cells of the sphere
+  vtkSmartPointer<vtkIdFilter> idFilter = 
+      vtkSmartPointer<vtkIdFilter>::New();
+  idFilter->SetInputConnection(sphereSource->GetOutputPort());
+  idFilter->Update();
+  // Create a plane to clip with
+  vtkSmartPointer<vtkPlane> plane = vtkSmartPointer<vtkPlane>::New();
+  plane->SetOrigin(0, 0, 0);
+  plane->SetNormal(1, 1, 1);
+  // Convert the DataSet to a GenericDataSet
+  vtkSmartPointer<vtkBridgeDataSet> bridgeDataSet = vtkSmartPointer<vtkBridgeDataSet>::New();
+  bridgeDataSet->SetDataSet(idFilter->GetOutput());
+  vtkSmartPointer<vtkGenericClip> clipper =
+      vtkSmartPointer<vtkGenericClip>::New();
+  clipper->SetClipFunction(plane);
+  clipper->SetInputData(bridgeDataSet);
+  clipper->Update();
+  // Get the clipped cell ids
+  vtkUnstructuredGrid* clipped = clipper->GetOutput();
+  vtkIdTypeArray* originalIds = vtkIdTypeArray::SafeDownCast(clipped->GetCellData()->GetArray("vtkIdFilter_Ids"));
+  for(vtkIdType i = 0; i < originalIds->GetNumberOfTuples(); i++)
+    {
+    std::cout << "new id " << i << ", original id " << originalIds->GetValue(i) << std::endl;
+    }
+  // Create a mapper and actor for clipped points
+  vtkSmartPointer<vtkDataSetMapper> mapper =
+    vtkSmartPointer<vtkDataSetMapper>::New();
+  mapper->SetInputConnection(clipper->GetOutputPort());
+  vtkSmartPointer<vtkActor> actor =
+    vtkSmartPointer<vtkActor>::New();
+  actor->SetMapper(mapper);
+  // Create a mapper and actor for clipping function
+  vtkSmartPointer<vtkSampleFunction> sample =
+    vtkSmartPointer<vtkSampleFunction>::New();
+  sample->SetSampleDimensions(20,20,20);
+  sample->SetImplicitFunction(plane);
+  double value = 10.0;
+  double xmin = -value, xmax = value, ymin = -value, ymax = value, zmin = -value, zmax = value;
+  sample->SetModelBounds(xmin, xmax, ymin, ymax, zmin, zmax);
+  // Create the 0 isosurface
+  vtkSmartPointer<vtkContourFilter> contours =
+    vtkSmartPointer<vtkContourFilter>::New();
+  contours->SetInputConnection(sample->GetOutputPort());
+  contours->GenerateValues(1, 1, 1);
+  // Map the contours to graphical primitives
+  vtkSmartPointer<vtkPolyDataMapper> contourMapper =
+    vtkSmartPointer<vtkPolyDataMapper>::New();
+  contourMapper->SetInputConnection(contours->GetOutputPort());
+  contourMapper->SetScalarRange(0.0, 1.2);
+  // Create an actor for the sphere
+  vtkSmartPointer<vtkActor> sphereActor =
+    vtkSmartPointer<vtkActor>::New();
+  sphereActor->SetMapper(contourMapper);
+  // Create a renderer, render window, and interactor
+  vtkSmartPointer<vtkRenderer> renderer =
+    vtkSmartPointer<vtkRenderer>::New();
+  vtkSmartPointer<vtkRenderWindow> renderWindow =
+    vtkSmartPointer<vtkRenderWindow>::New();
+  renderWindow->AddRenderer(renderer);
+  vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
+    vtkSmartPointer<vtkRenderWindowInteractor>::New();
+  renderWindowInteractor->SetRenderWindow(renderWindow);
+  // Add the actor to the scene
+  renderer->AddActor(actor);
+  renderer->AddActor(sphereActor);
+  renderer->SetBackground(1,1,1); // Background color white
+  // Render and interact
+  // renderWindow->Render();
+  // renderWindowInteractor->Start();
+  return 0;
+}
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+echo "run: OK"
diff --git a/debian/tests/buildPNG b/debian/tests/buildPNG
new file mode 100755 (executable)
index 0000000..5f028c3
--- /dev/null
@@ -0,0 +1,84 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL  vtkIOLegacy vtkImagingGeneral)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkImageData.h>
+#include <vtkPNGWriter.h>
+#include <vtkSmartPointer.h>
+#include <vtkImageCanvasSource2D.h>
+#include <vtkImageCast.h>
+int main(int argc, char *argv[])
+{
+  std::string outputFilename;
+  if( argc > 1)
+    {
+    outputFilename = argv[1];
+    }
+  else
+    {
+    outputFilename = "output.png";
+    }
+  int extent[6] = {0, 99, 0, 99, 0, 0};
+  vtkSmartPointer<vtkImageCanvasSource2D> imageSource =
+    vtkSmartPointer<vtkImageCanvasSource2D>::New();
+  imageSource->SetExtent(extent);
+  imageSource->SetScalarTypeToUnsignedChar();
+  imageSource->SetNumberOfScalarComponents(3);
+  imageSource->SetDrawColor(127, 45, 255);
+  imageSource->FillBox(0, 99, 0, 99);
+  imageSource->SetDrawColor(255,255,255);
+  imageSource->FillBox(40, 70, 20, 50);
+  imageSource->Update();
+  vtkSmartPointer<vtkImageCast> castFilter =
+    vtkSmartPointer<vtkImageCast>::New();
+  castFilter->SetOutputScalarTypeToUnsignedChar ();
+  castFilter->SetInputConnection(imageSource->GetOutputPort());
+  castFilter->Update();
+  vtkSmartPointer<vtkPNGWriter> writer =
+    vtkSmartPointer<vtkPNGWriter>::New();
+  writer->SetFileName(outputFilename.c_str());
+  writer->SetInputConnection(castFilter->GetOutputPort());
+  writer->Write();
+  return EXIT_SUCCESS;
+}
+
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+echo "run: OK"
diff --git a/debian/tests/buildPoint b/debian/tests/buildPoint
new file mode 100755 (executable)
index 0000000..1686994
--- /dev/null
@@ -0,0 +1,59 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL  vtkIOLegacy)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkPolyData.h>
+#include <vtkSimplePointsWriter.h>
+#include <vtkSphereSource.h>
+#include <vtkSmartPointer.h>
+int main(int argc, char *argv[])
+{
+  vtkSmartPointer<vtkSphereSource> sphereSource =
+    vtkSmartPointer<vtkSphereSource>::New();
+  sphereSource->Update();
+  vtkSmartPointer<vtkSimplePointsWriter> writer =
+    vtkSmartPointer<vtkSimplePointsWriter>::New();
+  writer->SetFileName("test.xyz");
+  writer->SetInputConnection(sphereSource->GetOutputPort());
+  writer->Write();
+  return EXIT_SUCCESS;
+}
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+cat test.xyz
+echo "run: OK"
diff --git a/debian/tests/buildVTP b/debian/tests/buildVTP
new file mode 100755 (executable)
index 0000000..3f57f5a
--- /dev/null
@@ -0,0 +1,73 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL  vtkIOLegacy)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkVersion.h>
+#include <vtkCellArray.h>
+#include <vtkPoints.h>
+#include <vtkXMLPolyDataWriter.h>
+#include <vtkPolyData.h>
+#include <vtkSmartPointer.h>
+int main ( int, char *[] )
+{
+  vtkSmartPointer<vtkPoints> points = 
+    vtkSmartPointer<vtkPoints>::New();
+  for ( unsigned int i = 0; i < 10; ++i )
+    {
+    points->InsertNextPoint ( i, i, i );
+    }
+  vtkSmartPointer<vtkPolyData> polydata = 
+    vtkSmartPointer<vtkPolyData>::New();
+  polydata->SetPoints(points);
+  vtkSmartPointer<vtkXMLPolyDataWriter> writer =  
+    vtkSmartPointer<vtkXMLPolyDataWriter>::New();
+  writer->SetFileName("test.vtp");
+#if VTK_MAJOR_VERSION <= 5
+  writer->SetInput(polydata);
+#else
+  writer->SetInputData(polydata);
+#endif
+  writer->Write();
+  return EXIT_SUCCESS;
+}
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo
+cat test.vtp
+echo "run: OK"
diff --git a/debian/tests/buildVTU b/debian/tests/buildVTU
new file mode 100755 (executable)
index 0000000..3bb86ad
--- /dev/null
@@ -0,0 +1,129 @@
+#!/bin/sh
+# autopkgtest check
+# (C) 2014 Anton Gladky
+
+set -e
+
+export OMPI_MCA_orte_rsh_agent=/bin/false
+
+WORKDIR=$(mktemp -d)
+trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
+cd $WORKDIR
+mkdir src
+cd src
+
+cat <<EOF > CMakeLists.txt
+cmake_minimum_required(VERSION 2.6)
+project(demo)
+find_package(VTK REQUIRED vtkCommonCore vtkIOImage vtkIOXML vtkRenderingOpenGL  vtkIOLegacy)
+include(\${VTK_USE_FILE})
+
+add_executable(demo demo.cpp)
+target_link_libraries(demo \${VTK_LIBRARIES})
+install(TARGETS demo DESTINATION bin)
+EOF
+
+cat <<EOF > demo.cpp
+#include <vtkVersion.h>
+#include <vtkSmartPointer.h>
+#include <vtkTetra.h>
+#include <vtkCellArray.h>
+#include <vtkXMLUnstructuredGridReader.h>
+#include <vtkDataSetMapper.h>
+#include <vtkActor.h>
+#include <vtkRenderer.h>
+#include <vtkRenderWindow.h>
+#include <vtkRenderWindowInteractor.h>
+#include <vtkXMLUnstructuredGridWriter.h>
+#include <vtkUnstructuredGrid.h>
+#include <vtkPointData.h>
+#include <vtkVertexGlyphFilter.h>
+int main(int argc, char *argv[])
+{
+  if(argc != 2)
+    {
+    std::cout << "Required arguments: OutputFilename" << std::endl;
+    return EXIT_FAILURE;
+    }
+  std::string filename = argv[1];
+  vtkSmartPointer<vtkPoints> points =
+    vtkSmartPointer<vtkPoints>::New();
+  points->InsertNextPoint(0, 0, 0);
+  points->InsertNextPoint(1, 0, 0);
+  points->InsertNextPoint(1, 1, 0);
+  points->InsertNextPoint(0, 1, 1);
+   vtkSmartPointer<vtkTetra> tetra =
+    vtkSmartPointer<vtkTetra>::New();
+  tetra->GetPointIds()->SetId(0, 0);
+  tetra->GetPointIds()->SetId(1, 1);
+  tetra->GetPointIds()->SetId(2, 2);
+  tetra->GetPointIds()->SetId(3, 3);
+  vtkSmartPointer<vtkCellArray> cellArray =
+    vtkSmartPointer<vtkCellArray>::New();
+  cellArray->InsertNextCell(tetra);
+  vtkSmartPointer<vtkUnstructuredGrid> unstructuredGrid =
+    vtkSmartPointer<vtkUnstructuredGrid>::New();
+  unstructuredGrid->SetPoints(points);
+  unstructuredGrid->SetCells(VTK_TETRA, cellArray);
+  // Write file
+  vtkSmartPointer<vtkXMLUnstructuredGridWriter> writer =
+    vtkSmartPointer<vtkXMLUnstructuredGridWriter>::New();
+  writer->SetFileName(filename.c_str());
+#if VTK_MAJOR_VERSION <= 5
+  writer->SetInput(unstructuredGrid);
+#else
+  writer->SetInputData(unstructuredGrid);
+#endif
+  writer->Write();
+  vtkSmartPointer<vtkXMLUnstructuredGridReader> reader =
+    vtkSmartPointer<vtkXMLUnstructuredGridReader>::New();
+  reader->SetFileName(filename.c_str());
+  reader->Update();
+  vtkSmartPointer<vtkDataSetMapper> mapper =
+    vtkSmartPointer<vtkDataSetMapper>::New();
+  mapper->SetInputConnection(reader->GetOutputPort());
+  vtkSmartPointer<vtkActor> actor =
+    vtkSmartPointer<vtkActor>::New();
+  actor->SetMapper(mapper);
+  vtkSmartPointer<vtkRenderer> renderer =
+    vtkSmartPointer<vtkRenderer>::New();
+  vtkSmartPointer<vtkRenderWindow> renderWindow =
+    vtkSmartPointer<vtkRenderWindow>::New();
+  renderWindow->AddRenderer(renderer);
+  vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
+    vtkSmartPointer<vtkRenderWindowInteractor>::New();
+  renderWindowInteractor->SetRenderWindow(renderWindow);
+  renderer->AddActor(actor);
+  renderer->SetBackground(.3, .6, .3);
+  return EXIT_SUCCESS;
+}
+
+
+EOF
+
+cd ..
+mkdir build
+cd build
+cmake -DCMAKE_INSTALL_PREFIX=./../inst ./../src
+make
+make install
+echo "build: OK"
+[ -x demo ]
+./demo a.vtu
+cat a.vtu
+echo "run: OK"
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644 (file)
index 0000000..bdca94c
--- /dev/null
@@ -0,0 +1,3 @@
+Tests: buildBoolean buildPoint buildVTU buildDistance buildPNG buildVTP
+Depends: libvtk8-dev, build-essential, cmake
+Restrictions: allow-stderr
diff --git a/debian/upstream/metadata b/debian/upstream/metadata
new file mode 100644 (file)
index 0000000..1bd0287
--- /dev/null
@@ -0,0 +1,9 @@
+Name: VTK
+Bug-Database: https://gitlab.kitware.com/vtk/vtk/issues
+Documentation: https://vtk.org/documentation/
+Repository-Browse: https://gitlab.kitware.com/vtk/vtk
+Reference:
+  Author: Schroeder, Will and Martin, Ken and Lorensen, Bill
+  Year: 2006
+  Title: The Visualization Toolkit (4th ed.)
+  ISBN: 978-1-930934-19-1
diff --git a/debian/vtk8-doc.docs b/debian/vtk8-doc.docs
new file mode 100644 (file)
index 0000000..7d47f2e
--- /dev/null
@@ -0,0 +1,2 @@
+debian/tmp/usr/share/doc/vtk-8.2/doxygen
+debian/build/Utilities/Doxygen/doc/html
diff --git a/debian/vtk8-doc.links b/debian/vtk8-doc.links
new file mode 100644 (file)
index 0000000..36ad317
--- /dev/null
@@ -0,0 +1 @@
+usr/share/javascript/jquery/jquery.js usr/share/doc/vtk8-doc/html/jquery.js
diff --git a/debian/vtk8-examples.examples b/debian/vtk8-examples.examples
new file mode 100644 (file)
index 0000000..a8d52f4
--- /dev/null
@@ -0,0 +1 @@
+Examples/
diff --git a/debian/vtk8.install b/debian/vtk8.install
new file mode 100644 (file)
index 0000000..d2cc2cb
--- /dev/null
@@ -0,0 +1,3 @@
+# usr/bin/vtk8
+# usr/bin/vtkEncodeString-8.2
+usr/bin/vtkWrapHierarchy-8.2
diff --git a/debian/vtk8.lintian-overrides b/debian/vtk8.lintian-overrides
new file mode 100644 (file)
index 0000000..fa7987b
--- /dev/null
@@ -0,0 +1,3 @@
+# Upstream does not provide manpages
+vtk8: binary-without-manpage
+vtk8: hardening-no-relro
diff --git a/debian/watch b/debian/watch
new file mode 100644 (file)
index 0000000..59c8999
--- /dev/null
@@ -0,0 +1,3 @@
+version=3
+opts=repacksuffix=+dfsg1,uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)\d*)$/$1~$2/,dversionmangle=s/\+(debian|dfsg|ds|deb)\d*$// \
+https://github.com/Kitware/VTK/tags .*/v?(8\.\d\S*)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz))